//@ts-check
"use strict";
/**
 * 数组中的值的存取
 * @param {Array} arr 数组
 * @param {*} item 添加或者移除的值
 * @returns {Array} arr 传入的数组
 */
export const toggle = function (arr, item) {
    var index = arr.indexOf(item);
    if (index == -1) {
        arr.push(item);
    }
    else {
        arr.splice(index, 1);
    }
    return arr;
};

/**
 * 移除数组中的某一项
 * @param {Array} arr 数组
 * @param {*} item 数组中的某一项
 * @returns {Array} arr 传入的数组
 */
export const remove = function (arr, item) {
    var index = arr.indexOf(item);
    arr.splice(index, 1);
    return arr;
};
/**
 * 按指定的长度拆分数组
 * @param {Array} arr 要拆分的数组
 * @param {Number} len 拆分的长度
 */
export const  chunk =function (arr, len) {

    var chunks = [],
        i = 0,
        n = arr.length;
  
    while (i < n) {
      chunks.push(arr.slice(i, i += len));
    }
  
    return chunks;
  }

/**
 * 不重复添加元素
 * @param {Array} arr 数组
 * @param {*} item 要添加的元素
 */
export const ensure =function (arr,item){
    var index = arr.indexOf(item);
    if (index == -1) {
       return arr.push(item);
    }
}